Add HTML content transformer middleware #5338
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog Entry
Breaking changes
renderMarkdown
to HTML content transformer middleware, please refer to PR #5338renderMarkdown
with a custom HTML sanitizer, please move the HTML sanitizer to the new HTML content transformer middlewareAdded
useRenderMarkdown
to transform the result fromrenderMarkdown
renderMarkdown
into HTML content transformer for better coverage<pre><code>
)Description
Refactored part of
renderMarkdown
into HTML content transformer: sanitizer and copy button.This is to support code blocks syntax highlighting (#5335) in Markdown. Another PR will bring syntax highlighting to Markdown fenced code blocks shortly.
Design
Today, our
renderMarkdown
do a couple of things:<pre><code>
)In this PR, we are refactoring the "copy button" and HTML sanitizer into a middleware of their own. We will port "better link" later.
This will help web devs who customized
renderMarkdown
to sanitize the output HTML without additional efforts. Web devs can bring their own HTML sanitizer.Specific Changes
htmlContentTransformerMiddleware
sanitize-html
to the default HTML content transformer middlewareCHANGELOG.md
I have updated documentationReview Checklist
Accessibility reviewed (tab order, content readability, alt text, color contrast)Browser and platform compatibilities reviewedCSS styles reviewed (minimal rules, noz-index
)Documents reviewed (docs, samples, live demo)Internationalization reviewed (strings, unit formatting)package.json
andpackage-lock.json
reviewedTests reviewed (coverage, legitimacy)